<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://authorizationservices/v1" elementFormDefault="qualified" targetNamespace="http://authorizationservices/v1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://w8t/AuthorizationServices/AuthorizationService.svc?xsd=xsd2" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import schemaLocation="http://w8t/AuthorizationServices/AuthorizationService.svc?xsd=xsd5" namespace="http://schemas.datacontract.org/2004/07/Authorization" />
  <xs:element name="GetAllApplicationNames">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllApplicationNamesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetAllApplicationNamesResult" nillable="true" type="q1:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ApplicationExists">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ApplicationExistsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="ApplicationExistsResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateServiceCache">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateServiceCacheResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetOperationsForUser">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetOperationsForUserResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetOperationsForUserResult" nillable="true" type="tns:ArrayOfOperation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfOperation">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Operation" nillable="true" type="tns:Operation" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfOperation" nillable="true" type="tns:ArrayOfOperation" />
  <xs:complexType name="Operation">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element name="Name" nillable="true" type="xs:string" />
      <xs:element name="operationId" type="xs:int" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Operation" nillable="true" type="tns:Operation" />
  <xs:element name="GetOperationNamesForUser">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetOperationNamesForUserResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetOperationNamesForUserResult" nillable="true" type="q2:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksForUser">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTasksForUserResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetTasksForUserResult" nillable="true" type="tns:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfTask">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Task" nillable="true" type="tns:Task" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTask" nillable="true" type="tns:ArrayOfTask" />
  <xs:complexType name="Task">
    <xs:sequence>
      <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/Authorization" minOccurs="0" name="Definition" type="q3:Definition" />
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="IsRoleDefinition" type="xs:boolean" />
      <xs:element name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ScopeName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Task" nillable="true" type="tns:Task" />
  <xs:element name="GetRoleAssignmentsForUser">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRoleAssignmentsForUserResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetRoleAssignmentsForUserResult" nillable="true" type="tns:ArrayOfRoleAssignment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfRoleAssignment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RoleAssignment" nillable="true" type="tns:RoleAssignment" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRoleAssignment" nillable="true" type="tns:ArrayOfRoleAssignment" />
  <xs:complexType name="RoleAssignment">
    <xs:sequence>
      <xs:element name="Description" nillable="true" type="xs:string" />
      <xs:element xmlns:q4="http://schemas.microsoft.com/2003/10/Serialization/Arrays" name="MemberNames" nillable="true" type="q4:ArrayOfstring" />
      <xs:element name="Name" nillable="true" type="xs:string" />
      <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" name="RoleDefinitionNames" nillable="true" type="q5:ArrayOfstring" />
      <xs:element name="ScopeName" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RoleAssignment" nillable="true" type="tns:RoleAssignment" />
  <xs:element name="GetRoleAssignmentsNamesForUser">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRoleAssignmentsNamesForUserResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetRoleAssignmentsNamesForUserResult" nillable="true" type="q6:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTaskNamesForUser">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTaskNamesForUserResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetTaskNamesForUserResult" nillable="true" type="q7:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="IsUserInRoleAssignment">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="IsUserInRoleAssignmentResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="IsUserInRoleAssignmentResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="IsUserInTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="taskName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="IsUserInTaskResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="IsUserInTaskResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AccessCheck">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operationId" type="xs:int" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AccessCheckResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AccessCheckResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AccessCheckByName">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AccessCheckByNameResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="AccessCheckByNameResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="BulkAccessCheck">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="operationIds" nillable="true" type="q8:ArrayOfint" />
        <xs:element xmlns:q9="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="scopeNames" nillable="true" type="q9:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="BulkAccessCheckResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q10="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="BulkAccessCheckResult" nillable="true" type="q10:ArrayOfint" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="BulkAccessCheckByName">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element xmlns:q11="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="operationNames" nillable="true" type="q11:ArrayOfstring" />
        <xs:element xmlns:q12="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="scopeNames" nillable="true" type="q12:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="BulkAccessCheckByNameResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="BulkAccessCheckByNameResult" nillable="true" type="tns:ArrayOfOperation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="BulkAccessCheckWithRules">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="userName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operationId" type="xs:int" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element xmlns:q13="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="variableNames" nillable="true" type="q13:ArrayOfstring" />
        <xs:element xmlns:q14="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="variableValues" nillable="true" type="q14:ArrayOfanyType" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="BulkAccessCheckWithRulesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="BulkAccessCheckWithRulesResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllOperations">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllOperationsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetAllOperationsResult" nillable="true" type="tns:ArrayOfOperation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllOperationNames">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllOperationNamesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q15="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetAllOperationNamesResult" nillable="true" type="q15:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetOperation">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operationName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetOperationResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetOperationResult" nillable="true" type="tns:Operation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateOperation">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operationId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateOperationResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CreateOperationResult" nillable="true" type="tns:Operation" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="OperationExists">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operationName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="OperationExistsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="OperationExistsResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteOperation">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operationName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteOperationResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateOperation">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newOperationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newOperationDescription" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newOperationId" type="xs:int" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateOperationResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllTasks">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllTasksResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetAllTasksResult" nillable="true" type="tns:ArrayOfTask" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllTaskNames">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllTaskNamesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q16="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetAllTaskNamesResult" nillable="true" type="q16:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="taskName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetTaskResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetTaskResult" nillable="true" type="tns:Task" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="taskName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateTaskResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CreateTaskResult" nillable="true" type="tns:Task" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="taskName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteTaskResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTask">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="taskName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newTaskName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newDescription" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateTaskResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="TaskExists">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="taskName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="TaskExistsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="TaskExistsResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllRoleAssignments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllRoleAssignmentsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetAllRoleAssignmentsResult" nillable="true" type="tns:ArrayOfRoleAssignment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllRoleAssignmentNames">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllRoleAssignmentNamesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q17="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetAllRoleAssignmentNamesResult" nillable="true" type="q17:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRoleAssignment">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleAssignmentName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRoleAssignmentResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetRoleAssignmentResult" nillable="true" type="tns:RoleAssignment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RoleAssignmentExists">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RoleAssignmentExistsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="RoleAssignmentExistsResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateRoleAssignment">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateRoleAssignmentResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CreateRoleAssignmentResult" nillable="true" type="tns:RoleAssignment" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteRoleAssignment">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteRoleAssignmentResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateRoleAssignment">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newRoleName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newDescription" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateRoleAssignmentResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="AddUserNamesToRoleAssignments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element xmlns:q18="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="usernames" nillable="true" type="q18:ArrayOfstring" />
        <xs:element xmlns:q19="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="roleNames" nillable="true" type="q19:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddUserNamesToRoleAssignmentsResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="AddUsersToRoleAssignments">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element xmlns:q20="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="SIDs" nillable="true" type="q20:ArrayOfstring" />
        <xs:element xmlns:q21="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="roleNames" nillable="true" type="q21:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddUsersToRoleAssignmentsResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllScopes">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllScopesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetAllScopesResult" nillable="true" type="tns:ArrayOfScope" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ArrayOfScope">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Scope" nillable="true" type="tns:Scope" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfScope" nillable="true" type="tns:ArrayOfScope" />
  <xs:complexType name="Scope">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Scope" nillable="true" type="tns:Scope" />
  <xs:element name="GetScope">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetScopeResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetScopeResult" nillable="true" type="tns:Scope" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllScopeNames">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllScopeNamesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q22="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetAllScopeNamesResult" nillable="true" type="q22:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ScopeExists">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="ScopeExistsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="ScopeExistsResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateScope">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="description" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateScopeResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="CreateScopeResult" nillable="true" type="tns:Scope" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteScope">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteScopeResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateScope">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="scopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newScopeName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="newDescription" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="UpdateScopeResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllApplications">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllApplicationsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q23="http://schemas.datacontract.org/2004/07/Authorization" minOccurs="0" name="GetAllApplicationsResult" nillable="true" type="q23:ApplicationCollection" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="Application">
    <xs:sequence>
      <xs:element minOccurs="0" name="Description" nillable="true" type="xs:string" />
      <xs:element name="Name" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Version" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Application" nillable="true" type="tns:Application" />
  <xs:element name="GetApplication">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetApplicationResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="GetApplicationResult" nillable="true" type="tns:Application" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>